0,        '##########################################################
1,        '# Code Number          : 812
2,        '# Recipe Name          : Genomic DNA Whole Blood Kit
3,        '# ROBOT TYPE           : Giga
4,        '# DATE/VERSION         : 2026.04.22 Optimized
5,        '# Changes vs original  :
6,        '#   [OPT-1] BINDING STEP-1 -> Call BINDING_STEP_1_API
7,        '#   [OPT-2] BINDING STEP-2 -> Call BINDING_STEP_2_API
8,        '#   [OPT-3] Removed redundant Y_0 intermediate moves
9,        '#   [OPT-4] Comments unified in English
10,      '##########################################################
11,      '=== PRE-HEATING ===
12,      Heater(68,0,0)
13,      Display( " PRE-HEATING......... " )
14,      Heater(68,66,0)
15,      '=== INITIALIZATION ===
16,      Call PERFORATE_API
17,      Call TIP3_TAKE_API
18,      Mov(V_INITIAL_2,SLOW)
19,      '=== GET OPTICS REFERENCE ===
20,      Call OPTICS_GET REFERENCE
21,      '=== LOAD MAGNETIC BEADS ===
22,      Call TAKE_nBEADS_API(4000)
23,      ME(ME_UP)
24,      '=== SAMPLE PROCESSING (4mL Whole Blood) ===
25,      Display( " Sample Volume 4mL " )
26,      Delay(10)
27,      '--- Mix sample ---
28,      Display( " SAMPLE 4mL Mix " )
29,      Mov(X_SAMPLE,SPEED_V)
30,      Mov(Y_SAMPLE_MIX,SPEED_V)
31,      MIX_API(3000,10,1,SLOW,SLOW)
32,      Delay(50)
33,      '--- Draw sample ---
34,      Display( " SAMPLE 4mL WHOLE BLOOD " )
35,      Mov(Y_SAMPLE_BOTTOM,SPEED_V)
36,      Draw(4400,SLOW)
37,      Delay(50)
38,      Draw(100,VSLOW)
39,      Delay(20)
40,      '=== TRANSFER SAMPLE TO HEATER_1 ===
41,      Display( " Transfer to Heater " )
42,      Mov(Y_0,SPEED_V)
43,      Delay(1)
44,      Mov(X_HEATER_1,SPEED_V)
45,      Mov(Y_WELL_LOW,SPEED_V)
46,      Spit(4600,SPEED_V)
47,      Delay(20)
48,      Mov(Y_WELL_HIGH,SPEED_V)
49,      Delay(20)
50,      Spit(200,SPEED_V)
51,      Delay(20)
52,      Mov(V_SPILT_MAX,SLOW)

54,      '=== LYSIS STEP ===
55,      Display( " LYSIS STEP HEATING " )
56,      Mov(X_HEATER_1,SLOW)
57,      ME(ME_UP)
58,      Mov(Y_WELL_MIX,SPEED_V)
59,      MIX_API(4500,200,1,SLOW,SPEED_V)
60,      Mov(Y_WELL_HIGH,SPEED_V)
61,      Mov(V_SPILT_MAX,SLOW)
62,      '=== BINDING STEP-1 ===
63,      '    Draw from HEATER_1(Y_WELL_BOTTOM), MixVol=3000, Dest=WELL_1
64,      Display( " BINDING STEP-1 " )
65,      Call BINDING_STEP_1_API
66,      '=== BINDING STEP-2 ===
67,      '    Draw from HEATER_1(Y_WELL_BOTTOM), MixVol=2200, Dest=HEATER_1
68,      Display( " BINDING STEP-2 " )
69,      Call BINDING_STEP_2_API
70,      Mov(Y_0,SPEED_V)
71,      '=== WASH PROCEDURE ===
72,      Call WASH_1_API(3800,60)
73,      Call WASH_1_API(3800,60)
74,      Call WASH_2_API(3800,30)
75,      Call WASH_2_SC_API(2050,30)
76,      '=== MG BEAD WATER WASH ===
77,      Call WASH_H2_WELL_(1000)_API
78,      '=== ELUTION ===
79,      Call ELUTE_WATER_SBD_API
80,      '=== CLEANUP ===
81,      Call TIP3_REJECT_API
82,      '=== HOME ===
83,      Mov(V_0,SPEED_V)
84,      Mov(Y_0,SPEED_V)
85,      Mov(X_0,SPEED_V)
86,      Mov(C_0,SPEED_V)

